var express = require('express');
var app = express();
var connection = require('./sql')
var bodyParser = require('body-parser');
// var interface = require('./interface');
app.all('*',function(req,res,next){
    res.header('Access-Control-Allow-Origin','*');//*表示可以跨域任何域名都行 也可以填域名表示只接受某个域名
    res.header('Access-Control-Allow-Headers','X-Requested-With,Content-Type');//可以支持的消息首部列表
    res.header('Access-Control-Allow-Methods','PUT,POST,GET,DELETE,OPTIONS');//可以支持的提交方式
    res.header('Content-Type','application/json;charset=utf-8');//请求头中定义的类型
    next();
});

app.use(bodyParser.urlencoded({extended:true}));//Context-Type 为application/x-www-form-urlencoded 时 返回的对象是一个键值对，当extended为false的时候，键值对中的值就为'String'或'Array'形式，为true的时候，则可为任何数据类型。
app.use(bodyParser.json());//用于解析json 会自动选择最为适宜的解析方式

//连接test的数据库，查询名为hau_1的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data1', (req, res) => {
    connection.query('select * from gmall.detail_hau_1',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为hau_2的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data2', (req, res) => {
    connection.query('select * from gmall.detail_hau_2',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为hau_3的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data3', (req, res) => {
    connection.query('select * from gmall.detail_hau_3',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为hau_5的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data4', (req, res) => {
    connection.query('select * from gmall.detail_hau_5',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为age的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data5', (req, res) => {
    connection.query('select * from gmall.detail_age_portrait',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为dv的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data6', (req, res) => {
    connection.query('select * from gmall.dv',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为pv的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data7', (req, res) => {
    connection.query('select * from gmall.detail_pv',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为mau的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data8', (req, res) => {
    connection.query('select * from gmall.detail_mau',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为map的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data9', (req, res) => {
    connection.query('select * from gmall.detail_region_portrait',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为地区消费排行榜top10的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data10', (req, res) => {
    connection.query('select * from gmall.detail_top10_region_spenders',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为男性top10的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data11', (req, res) => {
    connection.query('select * from gmall.detail_top10_male_spenders',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为女性top10的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data12', (req, res) => {
    connection.query('select * from gmall.detail_top10_female_spenders',function(error,results,fields){

        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为商品热销榜top10的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data13', (req, res) => {
    connection.query('select * from gmall.detail_top10_hot_products',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为消费总榜top10的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data14', (req, res) => {
    connection.query('select * from gmall.detail_top10_spenders',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为uv的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data15', (req, res) => {
    connection.query('select * from gmall.detail_uv',function(error,results,fields){
        console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为sex的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data16', (req, res) => {
    connection.query('select * from gmall.portrait_gender',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为rr的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data17', (req, res) => {
    connection.query('select * from gmall.detail_user_retention',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
//连接test的数据库，查询名为rmf的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data18', (req, res) => {
    connection.query('select * from gmall.detail_rfm_segment_summary',function(error,results,fields){
        //console.log(results)
        res.json(results)
    })
})//连接test的数据库，查询名为消费狂魔top10的表，并返回查询结果。查询的结果会通过res.json()方法以JSON格式发送给客户端。
app.get('/data19', (req, res) => {
    connection.query('select * from gmall.detail_top10_frequent_buyers',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})
app.get('/data20', (req, res) => {
    connection.query('select * from gmall.detail_daily_buy_rate',function(error,results,fields){
        //console.log(results[0])
        res.json(results)
    })
})

app.get('/chinaData', (req, res) => {
   
    const chinaData = require('./china.json');
    res.json(chinaData) 
    })

//创建一个Express应用，并通过app.listen()方法将其监听在9898端口上。
//一旦应用成功启动并开始接受请求，控制台将输出 “数据接口已启动！” 的提示。
app.listen(9898,()=>{
    console.log("数据接口已启动！")
});

